package 哈希表;

import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;

/**
 * @author aodre , QQ : 480029069
 * @date 2023/6/3 17:48
 */
public class lc2395和相等的子数组 {

    public boolean findSubarrays1(int[] nums) {
        Set<Integer> set = new HashSet<>();
        for(int i =1;i < nums.length;i++){
            if(set.contains(nums[i] + nums[i - 1])){
                return true;
            }
            set.add(nums[i] + nums[i - 1]);
        }
        return false;
    }



    /*
    虽然这道题， 没啥可说的，简单题，
    但是能从 这里 思考一点， 哈希缓存的思想！
     */
    public boolean findSubarrays(int[] nums) {
        Map<Integer,Integer> map =new HashMap<>();
        for(int i = 0;i < nums.length - 1;i++ ){
            int temp = nums[i] + nums[i + 1];
            if(map.containsKey(temp)){
                return true;
            }
            map.put(temp,1);
        }
        return false;
    }
    /*
     稍微 变下题型， 在上述题意， 是求 子数组得个数， 又该怎么来做呢！
     上面是只要找到一个满足条件得就行， 现在是要你， 求出所有得个数！

     - 准确来说， 是求 相邻元素 和  == k 等的 子数组的个数
     */

    public int function(int nums[]){
        /*
         这个题，还不好去改造的
         */
        return 0;
    }

}

